package com.it.common.utils

import com.google.gson.Gson
import com.google.gson.reflect.TypeToken

object GsonUtils {
    private val gson by lazy { Gson() }



    /**
     * jsonStr 转换成 obj
     * @param jsonStr String
     * @return T
     */
    inline fun <reified T> jsonStrToObj(jsonStr: String): T {
        val gson = Gson()
        val typeToken = object : TypeToken<T>() {}.type
        return gson.fromJson(jsonStr, typeToken)
    }

    /**
     * obj转换成jsonStr
     * @param obj T
     * @return String
     */
    fun <T> objToJsonStr(obj: T): String {
        return gson.toJson(obj)
    }

}